<?php
/**
 * Page d edition compte utilisateur
 * verification si administrateur
 * verification que l'on essaye de modifier le compte admin
 * verification l utilisateur est bien dans la base
 */
require 'kernel/common.php';
if(!$Session->check_admin()) redirect('index.php');

if(isset($_POST['send_edit']))
{
	$error = 0;
    if(!$Session->csrf_check()) redirect('logout.php?csrf');
	if(!$id = retrieve('POST','id',true, true)) $error++;
	if(!$nom = retrieve('POST','nom',true, true)) $error++;
	$prenom = retrieve('POST', 'prenom', false, true);	
	$email = retrieve('POST', 'email');
    $groupeTab = retrieve('POST','ListeGroupe');
    $groupeTab = unserialize($groupeTab);
    $agenceTab = retrieve('POST','ListeAgence');
    $agenceTab = unserialize($agenceTab);
    $actif = retrieve('POST','actif');
	if(!email_valid($email)) $email = '';
    if($error > 0) redirect('utilisateur.php?error=champ_incomplet');
    $QueryInsertAgence = '';
    $QueryInsertGroupe = '';    
    
    # Suppression de toutes les liaisons utilisateur -> groupe
    $db->sql_query("DELETE FROM immo_groupe_user_link WHERE uid = '". $id ."'");
    foreach($groupeTab as $key => $value)
    {
        if(isset($_POST['groupeform-'. $key .''])) $QueryInsertGroupe .= " ('', '". $id ."', '". $key ."'),";
    }
    # Traitement des agences (iden groupe)
    $db->sql_query("DELETE FROM immo_user_agence WHERE user = '". $id ."'");
    foreach($agenceTab as $key => $value)
    {
        if(isset($_POST['agenceform-'. $key .''])) $QueryInsertAgence .= " ('', '". $id ."', '". $key ."'),";
    }
    
    # Traitement donne utilisateur
    if($QueryInsertGroupe != '') $db->sql_query("INSERT INTO immo_groupe_user_link (id, uid, gid) VALUES ". substr($QueryInsertGroupe, 0, -1) ."");
    if($QueryInsertAgence != '') $db->sql_query("INSERT INTO immo_user_agence (id, user, agence) VALUES ". substr($QueryInsertAgence, 0, -1) ."");
    $db->sql_query("UPDATE immo_user SET nom = '". addslashes($nom) ."', prenom = '". addslashes($prenom) ."', email = '". $email ."', actif = '". $actif ."' WHERE id = '". $id ."'");
    
	SuccesAffiche($lang['Utilisateur_modifie'], 'utilisateur.php');	
}
else
{
	$id = retrieve('GET', 'id', true);
	
	if($id == 1) redirect('utilisateur.php?error=no_edit_admin');
	
	$Sql = $db->sql_query("SELECT * FROM immo_user WHERE id = '". $id ."'");
	$Test = $db->sql_nbresultat($Sql);
	
	if($Test != 1) redirect('utilisateur.php?error=user_not_found');
	else
	{
		$Utilisateur = $db->sql_fetchobject($Sql);
       
        # Gestion des groupe
        $FormGroupe = '';
        $i = 0;
        $groupeTab = array();
        $SqlG = $db->sql_query("SELECT * FROM immo_groupe");
        while($Groupe = $db->sql_fetchobject($SqlG))
        {
            $groupeTab[$Groupe->id] = $Groupe->id;
            $SqlG2 = $db->sql_query("SELECT * FROM immo_groupe_user_link WHERE gid = '". $Groupe->id ."' AND uid = '". $id ."'");
            if($db->nb_resultat == 1) 
                $FormGroupe .= '<input type="checkbox" name="groupeform-'.$Groupe->id.'" checked="checked">&nbsp;<label>'. $Groupe->nom .'</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
            else $FormGroupe .= '<input type="checkbox" name="groupeform-'.$Groupe->id.'" >&nbsp;<label>'. $Groupe->nom .'</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
            $i++;
            if($i == 3) 
            {
                $FormGroupe .= '<br /><br />';
                $i=0;
            }
        }
        
        # Gestion des agences
        $i = 0;
        $FormAgence = '';
        $agenceTab = array();
		$Sql2 = $db->sql_query("SELECT * FROM immo_agence");
        while($Agence = $db->sql_fetchobject($Sql2))
		{
            $agenceTab[$Agence->id] = $Agence->id;
			$Sql3 = $db->sql_query("SELECT * FROM immo_user_agence WHERE user = '". $id ."' AND agence = '". $Agence->id ."'");
            if($db->nb_resultat == 1)
                $FormAgence .= '<input type="checkbox" name="agenceform-'.$Agence->id.'" checked="checked">&nbsp;<label>'. $Agence->nom .'</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
                else $FormAgence .= '<input type="checkbox" name="agenceform-'.$Agence->id.'">&nbsp;<label>'. $Agence->nom .'</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
            $i++;
            if($i == 3) 
            {
                $FormAgence .= '<br /><br />';
                $i=0;
            }
        }
		
		$template->set_filenames(array('utilisateur_edition' => 'template/utilisateur_edition.tpl'));
		$template->assign_vars(array(
		'V_IDENTIFIANT'	=>	$Utilisateur->identifiant,
		'V_NOM'	=>	$Utilisateur->nom,
		'V_PRENOM'	=>	$Utilisateur->prenom,
		'V_EMAIL'	=>	$Utilisateur->email,
		'V_ID'	=>	$id,
		'L_AGENCE'	=>	$lang['Agence'],
		'L_RETOUR'	=>	$lang['Retour'],
        'L_ENREGISTRER' =>  $lang['Enregistrer'],
		'L_EDITION_UTILISATEUR'	=>	$lang['Edition_utilisateur'],
        'L_GROUPE'  =>  $lang['Groupe'],
        'L_AGENCE'  =>  $lang['Agence'],
        'L_OUI' =>  $lang['Oui'],
        'L_NON' =>  $lang['Non'],
        'L_ACTIF'   =>  $lang['Actif'],
        'V_FORM_GROUPE' =>  $FormGroupe,
        'V_FORM_AGENCE' =>  $FormAgence,
        'V_LISTE_GROUPE'    =>  serialize($groupeTab),
        'V_LISTE_AGENCE'    =>  serialize($agenceTab),
        'V_TOKEN'   =>  $_SESSION['token'],
        'V_ACTIF'   =>  $Utilisateur->actif));
        
		$template->display('utilisateur_edition');
	}
}
require 'footer.php';
?>
